//auto gen by paipai.java.augogen ver 3.0.0
//author skyzhuang
//source idl: com.erp.account.dao.idl.GetContactByFilterResp.java


#ifndef ERP_ACCOUNT_DDO_CCONTACTDDO_BY_AUTOGEN_V5_H
#define ERP_ACCOUNT_DDO_CCONTACTDDO_BY_AUTOGEN_V5_H


#include "app_platform/intf_serializable.h"
#include <bitset>
#include <string>
#include <sstream>
#include <iostream>


namespace erp
{
namespace account
{
namespace ddo
{


class CContactDdo : public ISerializable
{
	public:
		std::string m_sLastErrMsg;///<错误信息

		/**
		 * 版本号
		 *
		 * 版本 >= 0
		 */
		uint32_t dwVersion;

		/**
		 * cVersion_u uflag field
		 */
		uint8_t cVersion_u; //optional flag

		/**
		 * 联系人SysNo
		 *
		 * 版本 >= 0
		 */
		uint64_t ddwContactSysNo;

		/**
		 * cContactSysNo_u uflag field
		 */
		uint8_t cContactSysNo_u; //optional flag

		/**
		 * 地区SysNo
		 *
		 * 版本 >= 0
		 */
		uint64_t ddwAreaSysNo;

		/**
		 * cAreaSysNo_u uflag field
		 */
		uint8_t cAreaSysNo_u; //optional flag

		/**
		 * 姓名
		 *
		 * 版本 >= 0
		 */
		std::string strName;

		/**
		 * cName_u uflag field
		 */
		uint8_t cName_u; //optional flag

		/**
		 * 性别
		 *
		 * 版本 >= 0
		 */
		uint16_t wSex;

		/**
		 * cSex_u uflag field
		 */
		uint8_t cSex_u; //optional flag

		/**
		 * 生日
		 *
		 * 版本 >= 0
		 */
		uint32_t dwBirthday;

		/**
		 * cBirthday_u uflag field
		 */
		uint8_t cBirthday_u; //optional flag

		/**
		 * 职位
		 *
		 * 版本 >= 0
		 */
		std::string strPosition;

		/**
		 * cPosition_u uflag field
		 */
		uint8_t cPosition_u; //optional flag

		/**
		 * 称呼
		 *
		 * 版本 >= 0
		 */
		std::string strAlias;

		/**
		 * cAlias_u uflag field
		 */
		uint8_t cAlias_u; //optional flag

		/**
		 * 邮件
		 *
		 * 版本 >= 0
		 */
		std::string strMail;

		/**
		 * cMail_u uflag field
		 */
		uint8_t cMail_u; //optional flag

		/**
		 * 电话
		 *
		 * 版本 >= 0
		 */
		std::string strTel;

		/**
		 * cTel_u uflag field
		 */
		uint8_t cTel_u; //optional flag

		/**
		 * 手机
		 *
		 * 版本 >= 0
		 */
		std::string strPhone;

		/**
		 * cPhone_u uflag field
		 */
		uint8_t cPhone_u; //optional flag

		/**
		 * 邮编
		 *
		 * 版本 >= 0
		 */
		std::string strZipCode;

		/**
		 * cZipCode_u uflag field
		 */
		uint8_t cZipCode_u; //optional flag

		/**
		 * 地址
		 *
		 * 版本 >= 0
		 */
		std::string strAddress;

		/**
		 * cAddress_u uflag field
		 */
		uint8_t cAddress_u; //optional flag

		/**
		 * 备注
		 *
		 * 版本 >= 0
		 */
		std::string strComment;

		/**
		 * cComment_u uflag field
		 */
		uint8_t cComment_u; //optional flag

		/**
		 * 联系人属性,只读
		 *
		 * 版本 >= 0
		 */
		std::bitset<32>  bitsetProperty;

		/**
		 * cProperty_u uflag field
		 */
		uint8_t cProperty_u; //optional flag

		/**
		 * 联系人属性,设置
		 *
		 * 版本 >= 0
		 */
		std::bitset<32>  bitsetPropertyInclude;

		/**
		 * cPropertyInclude_u uflag field
		 */
		uint8_t cPropertyInclude_u; //optional flag

		/**
		 * 联系人属性,取消
		 *
		 * 版本 >= 0
		 */
		std::bitset<32>  bitsetPropertyExclude;

		/**
		 * cPropertyExclude_u uflag field
		 */
		uint8_t cPropertyExclude_u; //optional flag

		/**
		 * 联系人状态
		 *
		 * 版本 >= 0
		 */
		uint32_t dwStatus;

		/**
		 * cStatus_u uflag field
		 */
		uint8_t cStatus_u; //optional flag

		/**
		 * 创建人SysNo
		 *
		 * 版本 >= 0
		 */
		uint64_t ddwCreatorSysNo;

		/**
		 * cCreatorSysNo_u uflag field
		 */
		uint8_t cCreatorSysNo_u; //optional flag

		/**
		 * 创建时间
		 *
		 * 版本 >= 0
		 */
		uint32_t dwRowCreatDate;

		/**
		 * cRowCreatDate_u uflag field
		 */
		uint8_t cRowCreatDate_u; //optional flag

		/**
		 * 编辑者SysNo
		 *
		 * 版本 >= 0
		 */
		uint64_t ddwModifierSysNo;

		/**
		 * cModifierSysNo_u uflag field
		 */
		uint8_t cModifierSysNo_u; //optional flag

		/**
		 * 编辑时间
		 *
		 * 版本 >= 0
		 */
		uint32_t dwRowModifyDate;

		/**
		 * cRowModifyDate_u uflag field
		 */
		uint8_t cRowModifyDate_u; //optional flag




	public:
		CContactDdo():
		dwVersion(0),
		cVersion_u(0),
		ddwContactSysNo(0),
		cContactSysNo_u(0),
		ddwAreaSysNo(0),
		cAreaSysNo_u(0),
		cName_u(0),
		wSex(0),
		cSex_u(0),
		dwBirthday(0),
		cBirthday_u(0),
		cPosition_u(0),
		cAlias_u(0),
		cMail_u(0),
		cTel_u(0),
		cPhone_u(0),
		cZipCode_u(0),
		cAddress_u(0),
		cComment_u(0),
		cProperty_u(0),
		cPropertyInclude_u(0),
		cPropertyExclude_u(0),
		dwStatus(0),
		cStatus_u(0),
		ddwCreatorSysNo(0),
		cCreatorSysNo_u(0),
		dwRowCreatDate(0),
		cRowCreatDate_u(0),
		ddwModifierSysNo(0),
		cModifierSysNo_u(0),
		dwRowModifyDate(0),
		cRowModifyDate_u(0) {}
				CContactDdo& operator = (const CContactDdo& obj){

			this->dwVersion = obj.dwVersion;
			this->ddwContactSysNo = obj.ddwContactSysNo;
			this->ddwAreaSysNo = obj.ddwAreaSysNo;
			this->strName = obj.strName;
			this->wSex = obj.wSex;
			this->dwBirthday = obj.dwBirthday;
			this->strPosition = obj.strPosition;
			this->strAlias = obj.strAlias;
			this->strMail = obj.strMail;
			this->strTel = obj.strTel;
			this->strPhone = obj.strPhone;
			this->strZipCode = obj.strZipCode;
			this->strAddress = obj.strAddress;
			this->strComment = obj.strComment;
			this->bitsetProperty = obj.bitsetProperty;
			this->bitsetPropertyInclude = obj.bitsetPropertyInclude;
			this->bitsetPropertyExclude = obj.bitsetPropertyExclude;
			this->dwStatus = obj.dwStatus;
			this->ddwCreatorSysNo = obj.ddwCreatorSysNo;
			this->dwRowCreatDate = obj.dwRowCreatDate;
			this->ddwModifierSysNo = obj.ddwModifierSysNo;
			this->dwRowModifyDate = obj.dwRowModifyDate;
			this->cVersion_u = obj.cVersion_u;
			this->cContactSysNo_u = obj.cContactSysNo_u;
			this->cAreaSysNo_u = obj.cAreaSysNo_u;
			this->cName_u = obj.cName_u;
			this->cSex_u = obj.cSex_u;
			this->cBirthday_u = obj.cBirthday_u;
			this->cPosition_u = obj.cPosition_u;
			this->cAlias_u = obj.cAlias_u;
			this->cMail_u = obj.cMail_u;
			this->cTel_u = obj.cTel_u;
			this->cPhone_u = obj.cPhone_u;
			this->cZipCode_u = obj.cZipCode_u;
			this->cAddress_u = obj.cAddress_u;
			this->cComment_u = obj.cComment_u;
			this->cProperty_u = obj.cProperty_u;
			this->cPropertyInclude_u = obj.cPropertyInclude_u;
			this->cPropertyExclude_u = obj.cPropertyExclude_u;
			this->cStatus_u = obj.cStatus_u;
			this->cCreatorSysNo_u = obj.cCreatorSysNo_u;
			this->cRowCreatDate_u = obj.cRowCreatDate_u;
			this->cModifierSysNo_u = obj.cModifierSysNo_u;
			this->cRowModifyDate_u = obj.cRowModifyDate_u;
			return *this;
		}

	public:


		/**
		 * 是否设置版本号了
		 * 
		 * @param uint32_t:dwVersion
		 *  
		 * 
		 */
		 bool  IsVersionSet() const{
				 return  cVersion_u != 0;
		}


		/**
		 * 获取uflag版本号了
		 * 
		 * @param uint32_t:dwVersion
		 *  
		 * 
		 */
		 const uint8_t   GetVersionUFlag() const{
				 return  cVersion_u;
		}


		/**
		 * 设置版本号
		 * 
		 * @param uint32_t:dwVersion
		 *  
		 * 
		 */
		 void  SetVersion( const uint32_t& sVal, uint8_t cUFlag=1){
				dwVersion = sVal;
				cVersion_u = cUFlag;
		}


		/**
		 * 获取版本号
		 * 
		 * @return dwVersion value 类型为:uint32_t
		 * 
		 */
		 const uint32_t&  GetVersion() const {
				return dwVersion;
		}


		/**
		 * 是否设置联系人SysNo了
		 * 
		 * @param uint64_t:ddwContactSysNo
		 *  
		 * 
		 */
		 bool  IsContactSysNoSet() const{
				 return  cContactSysNo_u != 0;
		}


		/**
		 * 获取uflag联系人SysNo了
		 * 
		 * @param uint64_t:ddwContactSysNo
		 *  
		 * 
		 */
		 const uint8_t   GetContactSysNoUFlag() const{
				 return  cContactSysNo_u;
		}


		/**
		 * 设置联系人SysNo
		 * 
		 * @param uint64_t:ddwContactSysNo
		 *  
		 * 
		 */
		 void  SetContactSysNo( const uint64_t& sVal, uint8_t cUFlag=1){
				ddwContactSysNo = sVal;
				cContactSysNo_u = cUFlag;
		}


		/**
		 * 获取联系人SysNo
		 * 
		 * @return ddwContactSysNo value 类型为:uint64_t
		 * 
		 */
		 const uint64_t&  GetContactSysNo() const {
				return ddwContactSysNo;
		}


		/**
		 * 是否设置地区SysNo了
		 * 
		 * @param uint64_t:ddwAreaSysNo
		 *  
		 * 
		 */
		 bool  IsAreaSysNoSet() const{
				 return  cAreaSysNo_u != 0;
		}


		/**
		 * 获取uflag地区SysNo了
		 * 
		 * @param uint64_t:ddwAreaSysNo
		 *  
		 * 
		 */
		 const uint8_t   GetAreaSysNoUFlag() const{
				 return  cAreaSysNo_u;
		}


		/**
		 * 设置地区SysNo
		 * 
		 * @param uint64_t:ddwAreaSysNo
		 *  
		 * 
		 */
		 void  SetAreaSysNo( const uint64_t& sVal, uint8_t cUFlag=1){
				ddwAreaSysNo = sVal;
				cAreaSysNo_u = cUFlag;
		}


		/**
		 * 获取地区SysNo
		 * 
		 * @return ddwAreaSysNo value 类型为:uint64_t
		 * 
		 */
		 const uint64_t&  GetAreaSysNo() const {
				return ddwAreaSysNo;
		}


		/**
		 * 是否设置姓名了
		 * 
		 * @param std::string:strName
		 *  
		 * 
		 */
		 bool  IsNameSet() const{
				 return  cName_u != 0;
		}


		/**
		 * 获取uflag姓名了
		 * 
		 * @param std::string:strName
		 *  
		 * 
		 */
		 const uint8_t   GetNameUFlag() const{
				 return  cName_u;
		}


		/**
		 * 设置姓名
		 * 
		 * @param std::string:strName
		 *  
		 * 
		 */
		 void  SetName( const std::string& sVal, uint8_t cUFlag=1){
				strName = sVal;
				cName_u = cUFlag;
		}


		/**
		 * 获取姓名
		 * 
		 * @return strName value 类型为:std::string
		 * 
		 */
		 const std::string&  GetName() const {
				return strName;
		}


		/**
		 * 获取姓名
		 * 
		 * @return strName value 类型为:std::string
		 * 
		 */
		 std::string&  GetName() {
				return strName;
		}


		/**
		 * 是否设置性别了
		 * 
		 * @param uint16_t:wSex
		 *  
		 * 
		 */
		 bool  IsSexSet() const{
				 return  cSex_u != 0;
		}


		/**
		 * 获取uflag性别了
		 * 
		 * @param uint16_t:wSex
		 *  
		 * 
		 */
		 const uint8_t   GetSexUFlag() const{
				 return  cSex_u;
		}


		/**
		 * 设置性别
		 * 
		 * @param uint16_t:wSex
		 *  
		 * 
		 */
		 void  SetSex( const uint16_t& sVal, uint8_t cUFlag=1){
				wSex = sVal;
				cSex_u = cUFlag;
		}


		/**
		 * 获取性别
		 * 
		 * @return wSex value 类型为:uint16_t
		 * 
		 */
		 const uint16_t&  GetSex() const {
				return wSex;
		}


		/**
		 * 是否设置生日了
		 * 
		 * @param uint32_t:dwBirthday
		 *  
		 * 
		 */
		 bool  IsBirthdaySet() const{
				 return  cBirthday_u != 0;
		}


		/**
		 * 获取uflag生日了
		 * 
		 * @param uint32_t:dwBirthday
		 *  
		 * 
		 */
		 const uint8_t   GetBirthdayUFlag() const{
				 return  cBirthday_u;
		}


		/**
		 * 设置生日
		 * 
		 * @param uint32_t:dwBirthday
		 *  
		 * 
		 */
		 void  SetBirthday( const uint32_t& sVal, uint8_t cUFlag=1){
				dwBirthday = sVal;
				cBirthday_u = cUFlag;
		}


		/**
		 * 获取生日
		 * 
		 * @return dwBirthday value 类型为:uint32_t
		 * 
		 */
		 const uint32_t&  GetBirthday() const {
				return dwBirthday;
		}


		/**
		 * 是否设置职位了
		 * 
		 * @param std::string:strPosition
		 *  
		 * 
		 */
		 bool  IsPositionSet() const{
				 return  cPosition_u != 0;
		}


		/**
		 * 获取uflag职位了
		 * 
		 * @param std::string:strPosition
		 *  
		 * 
		 */
		 const uint8_t   GetPositionUFlag() const{
				 return  cPosition_u;
		}


		/**
		 * 设置职位
		 * 
		 * @param std::string:strPosition
		 *  
		 * 
		 */
		 void  SetPosition( const std::string& sVal, uint8_t cUFlag=1){
				strPosition = sVal;
				cPosition_u = cUFlag;
		}


		/**
		 * 获取职位
		 * 
		 * @return strPosition value 类型为:std::string
		 * 
		 */
		 const std::string&  GetPosition() const {
				return strPosition;
		}


		/**
		 * 获取职位
		 * 
		 * @return strPosition value 类型为:std::string
		 * 
		 */
		 std::string&  GetPosition() {
				return strPosition;
		}


		/**
		 * 是否设置称呼了
		 * 
		 * @param std::string:strAlias
		 *  
		 * 
		 */
		 bool  IsAliasSet() const{
				 return  cAlias_u != 0;
		}


		/**
		 * 获取uflag称呼了
		 * 
		 * @param std::string:strAlias
		 *  
		 * 
		 */
		 const uint8_t   GetAliasUFlag() const{
				 return  cAlias_u;
		}


		/**
		 * 设置称呼
		 * 
		 * @param std::string:strAlias
		 *  
		 * 
		 */
		 void  SetAlias( const std::string& sVal, uint8_t cUFlag=1){
				strAlias = sVal;
				cAlias_u = cUFlag;
		}


		/**
		 * 获取称呼
		 * 
		 * @return strAlias value 类型为:std::string
		 * 
		 */
		 const std::string&  GetAlias() const {
				return strAlias;
		}


		/**
		 * 获取称呼
		 * 
		 * @return strAlias value 类型为:std::string
		 * 
		 */
		 std::string&  GetAlias() {
				return strAlias;
		}


		/**
		 * 是否设置邮件了
		 * 
		 * @param std::string:strMail
		 *  
		 * 
		 */
		 bool  IsMailSet() const{
				 return  cMail_u != 0;
		}


		/**
		 * 获取uflag邮件了
		 * 
		 * @param std::string:strMail
		 *  
		 * 
		 */
		 const uint8_t   GetMailUFlag() const{
				 return  cMail_u;
		}


		/**
		 * 设置邮件
		 * 
		 * @param std::string:strMail
		 *  
		 * 
		 */
		 void  SetMail( const std::string& sVal, uint8_t cUFlag=1){
				strMail = sVal;
				cMail_u = cUFlag;
		}


		/**
		 * 获取邮件
		 * 
		 * @return strMail value 类型为:std::string
		 * 
		 */
		 const std::string&  GetMail() const {
				return strMail;
		}


		/**
		 * 获取邮件
		 * 
		 * @return strMail value 类型为:std::string
		 * 
		 */
		 std::string&  GetMail() {
				return strMail;
		}


		/**
		 * 是否设置电话了
		 * 
		 * @param std::string:strTel
		 *  
		 * 
		 */
		 bool  IsTelSet() const{
				 return  cTel_u != 0;
		}


		/**
		 * 获取uflag电话了
		 * 
		 * @param std::string:strTel
		 *  
		 * 
		 */
		 const uint8_t   GetTelUFlag() const{
				 return  cTel_u;
		}


		/**
		 * 设置电话
		 * 
		 * @param std::string:strTel
		 *  
		 * 
		 */
		 void  SetTel( const std::string& sVal, uint8_t cUFlag=1){
				strTel = sVal;
				cTel_u = cUFlag;
		}


		/**
		 * 获取电话
		 * 
		 * @return strTel value 类型为:std::string
		 * 
		 */
		 const std::string&  GetTel() const {
				return strTel;
		}


		/**
		 * 获取电话
		 * 
		 * @return strTel value 类型为:std::string
		 * 
		 */
		 std::string&  GetTel() {
				return strTel;
		}


		/**
		 * 是否设置手机了
		 * 
		 * @param std::string:strPhone
		 *  
		 * 
		 */
		 bool  IsPhoneSet() const{
				 return  cPhone_u != 0;
		}


		/**
		 * 获取uflag手机了
		 * 
		 * @param std::string:strPhone
		 *  
		 * 
		 */
		 const uint8_t   GetPhoneUFlag() const{
				 return  cPhone_u;
		}


		/**
		 * 设置手机
		 * 
		 * @param std::string:strPhone
		 *  
		 * 
		 */
		 void  SetPhone( const std::string& sVal, uint8_t cUFlag=1){
				strPhone = sVal;
				cPhone_u = cUFlag;
		}


		/**
		 * 获取手机
		 * 
		 * @return strPhone value 类型为:std::string
		 * 
		 */
		 const std::string&  GetPhone() const {
				return strPhone;
		}


		/**
		 * 获取手机
		 * 
		 * @return strPhone value 类型为:std::string
		 * 
		 */
		 std::string&  GetPhone() {
				return strPhone;
		}


		/**
		 * 是否设置邮编了
		 * 
		 * @param std::string:strZipCode
		 *  
		 * 
		 */
		 bool  IsZipCodeSet() const{
				 return  cZipCode_u != 0;
		}


		/**
		 * 获取uflag邮编了
		 * 
		 * @param std::string:strZipCode
		 *  
		 * 
		 */
		 const uint8_t   GetZipCodeUFlag() const{
				 return  cZipCode_u;
		}


		/**
		 * 设置邮编
		 * 
		 * @param std::string:strZipCode
		 *  
		 * 
		 */
		 void  SetZipCode( const std::string& sVal, uint8_t cUFlag=1){
				strZipCode = sVal;
				cZipCode_u = cUFlag;
		}


		/**
		 * 获取邮编
		 * 
		 * @return strZipCode value 类型为:std::string
		 * 
		 */
		 const std::string&  GetZipCode() const {
				return strZipCode;
		}


		/**
		 * 获取邮编
		 * 
		 * @return strZipCode value 类型为:std::string
		 * 
		 */
		 std::string&  GetZipCode() {
				return strZipCode;
		}


		/**
		 * 是否设置地址了
		 * 
		 * @param std::string:strAddress
		 *  
		 * 
		 */
		 bool  IsAddressSet() const{
				 return  cAddress_u != 0;
		}


		/**
		 * 获取uflag地址了
		 * 
		 * @param std::string:strAddress
		 *  
		 * 
		 */
		 const uint8_t   GetAddressUFlag() const{
				 return  cAddress_u;
		}


		/**
		 * 设置地址
		 * 
		 * @param std::string:strAddress
		 *  
		 * 
		 */
		 void  SetAddress( const std::string& sVal, uint8_t cUFlag=1){
				strAddress = sVal;
				cAddress_u = cUFlag;
		}


		/**
		 * 获取地址
		 * 
		 * @return strAddress value 类型为:std::string
		 * 
		 */
		 const std::string&  GetAddress() const {
				return strAddress;
		}


		/**
		 * 获取地址
		 * 
		 * @return strAddress value 类型为:std::string
		 * 
		 */
		 std::string&  GetAddress() {
				return strAddress;
		}


		/**
		 * 是否设置备注了
		 * 
		 * @param std::string:strComment
		 *  
		 * 
		 */
		 bool  IsCommentSet() const{
				 return  cComment_u != 0;
		}


		/**
		 * 获取uflag备注了
		 * 
		 * @param std::string:strComment
		 *  
		 * 
		 */
		 const uint8_t   GetCommentUFlag() const{
				 return  cComment_u;
		}


		/**
		 * 设置备注
		 * 
		 * @param std::string:strComment
		 *  
		 * 
		 */
		 void  SetComment( const std::string& sVal, uint8_t cUFlag=1){
				strComment = sVal;
				cComment_u = cUFlag;
		}


		/**
		 * 获取备注
		 * 
		 * @return strComment value 类型为:std::string
		 * 
		 */
		 const std::string&  GetComment() const {
				return strComment;
		}


		/**
		 * 获取备注
		 * 
		 * @return strComment value 类型为:std::string
		 * 
		 */
		 std::string&  GetComment() {
				return strComment;
		}


		/**
		 * 是否设置联系人属性,只读了
		 * 
		 * @param std::bitset<32> :bitsetProperty
		 *  
		 * 
		 */
		 bool  IsPropertySet() const{
				 return  cProperty_u != 0;
		}


		/**
		 * 获取uflag联系人属性,只读了
		 * 
		 * @param std::bitset<32> :bitsetProperty
		 *  
		 * 
		 */
		 const uint8_t   GetPropertyUFlag() const{
				 return  cProperty_u;
		}


		/**
		 * 设置联系人属性,只读
		 * 
		 * @param std::bitset<32> :bitsetProperty
		 *  
		 * 
		 */
		 void  SetProperty( const std::bitset<32> & sVal, uint8_t cUFlag=1){
				bitsetProperty = sVal;
				cProperty_u = cUFlag;
		}


		/**
		 * 获取联系人属性,只读
		 * 
		 * @return bitsetProperty value 类型为:std::bitset<32> 
		 * 
		 */
		 const std::bitset<32> &  GetProperty() const {
				return bitsetProperty;
		}


		/**
		 * 获取联系人属性,只读
		 * 
		 * @return bitsetProperty value 类型为:std::bitset<32> 
		 * 
		 */
		 std::bitset<32> &  GetProperty() {
				return bitsetProperty;
		}


		/**
		 * 是否设置联系人属性,设置了
		 * 
		 * @param std::bitset<32> :bitsetPropertyInclude
		 *  
		 * 
		 */
		 bool  IsPropertyIncludeSet() const{
				 return  cPropertyInclude_u != 0;
		}


		/**
		 * 获取uflag联系人属性,设置了
		 * 
		 * @param std::bitset<32> :bitsetPropertyInclude
		 *  
		 * 
		 */
		 const uint8_t   GetPropertyIncludeUFlag() const{
				 return  cPropertyInclude_u;
		}


		/**
		 * 设置联系人属性,设置
		 * 
		 * @param std::bitset<32> :bitsetPropertyInclude
		 *  
		 * 
		 */
		 void  SetPropertyInclude( const std::bitset<32> & sVal, uint8_t cUFlag=1){
				bitsetPropertyInclude = sVal;
				cPropertyInclude_u = cUFlag;
		}


		/**
		 * 获取联系人属性,设置
		 * 
		 * @return bitsetPropertyInclude value 类型为:std::bitset<32> 
		 * 
		 */
		 const std::bitset<32> &  GetPropertyInclude() const {
				return bitsetPropertyInclude;
		}


		/**
		 * 获取联系人属性,设置
		 * 
		 * @return bitsetPropertyInclude value 类型为:std::bitset<32> 
		 * 
		 */
		 std::bitset<32> &  GetPropertyInclude() {
				return bitsetPropertyInclude;
		}


		/**
		 * 是否设置联系人属性,取消了
		 * 
		 * @param std::bitset<32> :bitsetPropertyExclude
		 *  
		 * 
		 */
		 bool  IsPropertyExcludeSet() const{
				 return  cPropertyExclude_u != 0;
		}


		/**
		 * 获取uflag联系人属性,取消了
		 * 
		 * @param std::bitset<32> :bitsetPropertyExclude
		 *  
		 * 
		 */
		 const uint8_t   GetPropertyExcludeUFlag() const{
				 return  cPropertyExclude_u;
		}


		/**
		 * 设置联系人属性,取消
		 * 
		 * @param std::bitset<32> :bitsetPropertyExclude
		 *  
		 * 
		 */
		 void  SetPropertyExclude( const std::bitset<32> & sVal, uint8_t cUFlag=1){
				bitsetPropertyExclude = sVal;
				cPropertyExclude_u = cUFlag;
		}


		/**
		 * 获取联系人属性,取消
		 * 
		 * @return bitsetPropertyExclude value 类型为:std::bitset<32> 
		 * 
		 */
		 const std::bitset<32> &  GetPropertyExclude() const {
				return bitsetPropertyExclude;
		}


		/**
		 * 获取联系人属性,取消
		 * 
		 * @return bitsetPropertyExclude value 类型为:std::bitset<32> 
		 * 
		 */
		 std::bitset<32> &  GetPropertyExclude() {
				return bitsetPropertyExclude;
		}


		/**
		 * 是否设置联系人状态了
		 * 
		 * @param uint32_t:dwStatus
		 *  
		 * 
		 */
		 bool  IsStatusSet() const{
				 return  cStatus_u != 0;
		}


		/**
		 * 获取uflag联系人状态了
		 * 
		 * @param uint32_t:dwStatus
		 *  
		 * 
		 */
		 const uint8_t   GetStatusUFlag() const{
				 return  cStatus_u;
		}


		/**
		 * 设置联系人状态
		 * 
		 * @param uint32_t:dwStatus
		 *  
		 * 
		 */
		 void  SetStatus( const uint32_t& sVal, uint8_t cUFlag=1){
				dwStatus = sVal;
				cStatus_u = cUFlag;
		}


		/**
		 * 获取联系人状态
		 * 
		 * @return dwStatus value 类型为:uint32_t
		 * 
		 */
		 const uint32_t&  GetStatus() const {
				return dwStatus;
		}


		/**
		 * 是否设置创建人SysNo了
		 * 
		 * @param uint64_t:ddwCreatorSysNo
		 *  
		 * 
		 */
		 bool  IsCreatorSysNoSet() const{
				 return  cCreatorSysNo_u != 0;
		}


		/**
		 * 获取uflag创建人SysNo了
		 * 
		 * @param uint64_t:ddwCreatorSysNo
		 *  
		 * 
		 */
		 const uint8_t   GetCreatorSysNoUFlag() const{
				 return  cCreatorSysNo_u;
		}


		/**
		 * 设置创建人SysNo
		 * 
		 * @param uint64_t:ddwCreatorSysNo
		 *  
		 * 
		 */
		 void  SetCreatorSysNo( const uint64_t& sVal, uint8_t cUFlag=1){
				ddwCreatorSysNo = sVal;
				cCreatorSysNo_u = cUFlag;
		}


		/**
		 * 获取创建人SysNo
		 * 
		 * @return ddwCreatorSysNo value 类型为:uint64_t
		 * 
		 */
		 const uint64_t&  GetCreatorSysNo() const {
				return ddwCreatorSysNo;
		}


		/**
		 * 是否设置创建时间了
		 * 
		 * @param uint32_t:dwRowCreatDate
		 *  
		 * 
		 */
		 bool  IsRowCreatDateSet() const{
				 return  cRowCreatDate_u != 0;
		}


		/**
		 * 获取uflag创建时间了
		 * 
		 * @param uint32_t:dwRowCreatDate
		 *  
		 * 
		 */
		 const uint8_t   GetRowCreatDateUFlag() const{
				 return  cRowCreatDate_u;
		}


		/**
		 * 设置创建时间
		 * 
		 * @param uint32_t:dwRowCreatDate
		 *  
		 * 
		 */
		 void  SetRowCreatDate( const uint32_t& sVal, uint8_t cUFlag=1){
				dwRowCreatDate = sVal;
				cRowCreatDate_u = cUFlag;
		}


		/**
		 * 获取创建时间
		 * 
		 * @return dwRowCreatDate value 类型为:uint32_t
		 * 
		 */
		 const uint32_t&  GetRowCreatDate() const {
				return dwRowCreatDate;
		}


		/**
		 * 是否设置编辑者SysNo了
		 * 
		 * @param uint64_t:ddwModifierSysNo
		 *  
		 * 
		 */
		 bool  IsModifierSysNoSet() const{
				 return  cModifierSysNo_u != 0;
		}


		/**
		 * 获取uflag编辑者SysNo了
		 * 
		 * @param uint64_t:ddwModifierSysNo
		 *  
		 * 
		 */
		 const uint8_t   GetModifierSysNoUFlag() const{
				 return  cModifierSysNo_u;
		}


		/**
		 * 设置编辑者SysNo
		 * 
		 * @param uint64_t:ddwModifierSysNo
		 *  
		 * 
		 */
		 void  SetModifierSysNo( const uint64_t& sVal, uint8_t cUFlag=1){
				ddwModifierSysNo = sVal;
				cModifierSysNo_u = cUFlag;
		}


		/**
		 * 获取编辑者SysNo
		 * 
		 * @return ddwModifierSysNo value 类型为:uint64_t
		 * 
		 */
		 const uint64_t&  GetModifierSysNo() const {
				return ddwModifierSysNo;
		}


		/**
		 * 是否设置编辑时间了
		 * 
		 * @param uint32_t:dwRowModifyDate
		 *  
		 * 
		 */
		 bool  IsRowModifyDateSet() const{
				 return  cRowModifyDate_u != 0;
		}


		/**
		 * 获取uflag编辑时间了
		 * 
		 * @param uint32_t:dwRowModifyDate
		 *  
		 * 
		 */
		 const uint8_t   GetRowModifyDateUFlag() const{
				 return  cRowModifyDate_u;
		}


		/**
		 * 设置编辑时间
		 * 
		 * @param uint32_t:dwRowModifyDate
		 *  
		 * 
		 */
		 void  SetRowModifyDate( const uint32_t& sVal, uint8_t cUFlag=1){
				dwRowModifyDate = sVal;
				cRowModifyDate_u = cUFlag;
		}


		/**
		 * 获取编辑时间
		 * 
		 * @return dwRowModifyDate value 类型为:uint32_t
		 * 
		 */
		 const uint32_t&  GetRowModifyDate() const {
				return dwRowModifyDate;
		}

		virtual bool Serialize(CByteStreamNetwork& bs){
		
			uint32_t dwMyLen = 0;
			if(bs.isStoring()) //for write in buffer
			{
				//can not larger than 1 M.
				CByteStreamNetwork bsDummy(NULL, 1024 * 1024, false);
				//bsDummy for precheck the xo size...
				bsDummy.isStoring(true);
				Serialize_i(bsDummy);
				dwMyLen = bsDummy.getWrittenLength();
				bs & dwMyLen;
				Serialize_i(bs);
			}
			else
			{    //for read from buffer
				bs & dwMyLen;
				uint32_t dwReadedLen = bs.getReadLength();
				Serialize_i(bs);
				dwReadedLen = bs.getReadLength() - dwReadedLen;
				// dwReadedLen for the size of xo
				if( dwReadedLen > dwMyLen ){
					return false;
				}
				//go through the unwanted mem position...
				bs.goForward( dwMyLen - dwReadedLen );
			}

			return bs.isGood();
		}

		bool Serialize_i(CByteStreamNetwork& bsTmp){

			bsTmp & dwVersion; // 序列化版本号 类型为uint32_t
			bsTmp & cVersion_u; // 序列化uflag 类型为uint8_t
			bsTmp & ddwContactSysNo; // 序列化联系人SysNo 类型为uint64_t
			bsTmp & cContactSysNo_u; // 序列化uflag 类型为uint8_t
			bsTmp & ddwAreaSysNo; // 序列化地区SysNo 类型为uint64_t
			bsTmp & cAreaSysNo_u; // 序列化uflag 类型为uint8_t
			bsTmp & strName; // 序列化姓名 类型为String
			bsTmp & cName_u; // 序列化uflag 类型为uint8_t
			bsTmp & wSex; // 序列化性别 类型为uint16_t
			bsTmp & cSex_u; // 序列化uflag 类型为uint8_t
			bsTmp & dwBirthday; // 序列化生日 类型为uint32_t
			bsTmp & cBirthday_u; // 序列化uflag 类型为uint8_t
			bsTmp & strPosition; // 序列化职位 类型为String
			bsTmp & cPosition_u; // 序列化uflag 类型为uint8_t
			bsTmp & strAlias; // 序列化称呼 类型为String
			bsTmp & cAlias_u; // 序列化uflag 类型为uint8_t
			bsTmp & strMail; // 序列化邮件 类型为String
			bsTmp & cMail_u; // 序列化uflag 类型为uint8_t
			bsTmp & strTel; // 序列化电话 类型为String
			bsTmp & cTel_u; // 序列化uflag 类型为uint8_t
			bsTmp & strPhone; // 序列化手机 类型为String
			bsTmp & cPhone_u; // 序列化uflag 类型为uint8_t
			bsTmp & strZipCode; // 序列化邮编 类型为String
			bsTmp & cZipCode_u; // 序列化uflag 类型为uint8_t
			bsTmp & strAddress; // 序列化地址 类型为String
			bsTmp & cAddress_u; // 序列化uflag 类型为uint8_t
			bsTmp & strComment; // 序列化备注 类型为String
			bsTmp & cComment_u; // 序列化uflag 类型为uint8_t
			bsTmp & bitsetProperty; // 序列化联系人属性,只读 类型为BitSet
			bsTmp & cProperty_u; // 序列化uflag 类型为uint8_t
			bsTmp & bitsetPropertyInclude; // 序列化联系人属性,设置 类型为BitSet
			bsTmp & cPropertyInclude_u; // 序列化uflag 类型为uint8_t
			bsTmp & bitsetPropertyExclude; // 序列化联系人属性,取消 类型为BitSet
			bsTmp & cPropertyExclude_u; // 序列化uflag 类型为uint8_t
			bsTmp & dwStatus; // 序列化联系人状态 类型为uint32_t
			bsTmp & cStatus_u; // 序列化uflag 类型为uint8_t
			bsTmp & ddwCreatorSysNo; // 序列化创建人SysNo 类型为uint64_t
			bsTmp & cCreatorSysNo_u; // 序列化uflag 类型为uint8_t
			bsTmp & dwRowCreatDate; // 序列化创建时间 类型为uint32_t
			bsTmp & cRowCreatDate_u; // 序列化uflag 类型为uint8_t
			bsTmp & ddwModifierSysNo; // 序列化编辑者SysNo 类型为uint64_t
			bsTmp & cModifierSysNo_u; // 序列化uflag 类型为uint8_t
			bsTmp & dwRowModifyDate; // 序列化编辑时间 类型为uint32_t
			bsTmp & cRowModifyDate_u; // 序列化uflag 类型为uint8_t
			return bsTmp.isGood();
		}

		const char* GetLastErrMsg() const{
			return m_sLastErrMsg.c_str();
		}

		bool VerifyContactDdo(){

			if(!IsVersionSet()){
				m_sLastErrMsg = "Miss Param:version";
				return false;
			}

			if(!IsContactSysNoSet()){
				m_sLastErrMsg = "Miss Param:contactSysNo";
				return false;
			}

			if(!IsAreaSysNoSet()){
				m_sLastErrMsg = "Miss Param:areaSysNo";
				return false;
			}

			if(!IsNameSet()){
				m_sLastErrMsg = "Miss Param:name";
				return false;
			}

			if(!IsSexSet()){
				m_sLastErrMsg = "Miss Param:sex";
				return false;
			}

			if(!IsBirthdaySet()){
				m_sLastErrMsg = "Miss Param:birthday";
				return false;
			}

			if(!IsPositionSet()){
				m_sLastErrMsg = "Miss Param:position";
				return false;
			}

			if(!IsAliasSet()){
				m_sLastErrMsg = "Miss Param:alias";
				return false;
			}

			if(!IsMailSet()){
				m_sLastErrMsg = "Miss Param:mail";
				return false;
			}

			if(!IsTelSet()){
				m_sLastErrMsg = "Miss Param:tel";
				return false;
			}

			if(!IsPhoneSet()){
				m_sLastErrMsg = "Miss Param:phone";
				return false;
			}

			if(!IsZipCodeSet()){
				m_sLastErrMsg = "Miss Param:zipCode";
				return false;
			}

			if(!IsAddressSet()){
				m_sLastErrMsg = "Miss Param:address";
				return false;
			}

			if(!IsCommentSet()){
				m_sLastErrMsg = "Miss Param:comment";
				return false;
			}

			if(!IsPropertySet()){
				m_sLastErrMsg = "Miss Param:property";
				return false;
			}

			if(!IsPropertyIncludeSet()){
				m_sLastErrMsg = "Miss Param:propertyInclude";
				return false;
			}

			if(!IsPropertyExcludeSet()){
				m_sLastErrMsg = "Miss Param:propertyExclude";
				return false;
			}

			if(!IsStatusSet()){
				m_sLastErrMsg = "Miss Param:status";
				return false;
			}

			if(!IsCreatorSysNoSet()){
				m_sLastErrMsg = "Miss Param:creatorSysNo";
				return false;
			}

			if(!IsRowCreatDateSet()){
				m_sLastErrMsg = "Miss Param:rowCreatDate";
				return false;
			}

			if(!IsModifierSysNoSet()){
				m_sLastErrMsg = "Miss Param:modifierSysNo";
				return false;
			}

			if(!IsRowModifyDateSet()){
				m_sLastErrMsg = "Miss Param:rowModifyDate";
				return false;
			}
			return true;
		}

		void DumpData(std::ostream& oss) const{
		
			oss<<"[dwVersion:"<<dwVersion<<"] ";
			oss<<"[cVersion_u:"<<(int)cVersion_u<<"] ";
			oss<<"[ddwContactSysNo:"<<ddwContactSysNo<<"] ";
			oss<<"[cContactSysNo_u:"<<(int)cContactSysNo_u<<"] ";
			oss<<"[ddwAreaSysNo:"<<ddwAreaSysNo<<"] ";
			oss<<"[cAreaSysNo_u:"<<(int)cAreaSysNo_u<<"] ";
			oss<<"[strName:"<<strName<<"] ";
			oss<<"[cName_u:"<<(int)cName_u<<"] ";
			oss<<"[wSex:"<<(int)wSex<<"] ";
			oss<<"[cSex_u:"<<(int)cSex_u<<"] ";
			oss<<"[dwBirthday:"<<dwBirthday<<"] ";
			oss<<"[cBirthday_u:"<<(int)cBirthday_u<<"] ";
			oss<<"[strPosition:"<<strPosition<<"] ";
			oss<<"[cPosition_u:"<<(int)cPosition_u<<"] ";
			oss<<"[strAlias:"<<strAlias<<"] ";
			oss<<"[cAlias_u:"<<(int)cAlias_u<<"] ";
			oss<<"[strMail:"<<strMail<<"] ";
			oss<<"[cMail_u:"<<(int)cMail_u<<"] ";
			oss<<"[strTel:"<<strTel<<"] ";
			oss<<"[cTel_u:"<<(int)cTel_u<<"] ";
			oss<<"[strPhone:"<<strPhone<<"] ";
			oss<<"[cPhone_u:"<<(int)cPhone_u<<"] ";
			oss<<"[strZipCode:"<<strZipCode<<"] ";
			oss<<"[cZipCode_u:"<<(int)cZipCode_u<<"] ";
			oss<<"[strAddress:"<<strAddress<<"] ";
			oss<<"[cAddress_u:"<<(int)cAddress_u<<"] ";
			oss<<"[strComment:"<<strComment<<"] ";
			oss<<"[cComment_u:"<<(int)cComment_u<<"] ";
		//嵌套内容有错误，建议使用dumpDataTree方法，复杂数据格式更直观！
			oss<<"[cProperty_u:"<<(int)cProperty_u<<"] ";
		//嵌套内容有错误，建议使用dumpDataTree方法，复杂数据格式更直观！
			oss<<"[cPropertyInclude_u:"<<(int)cPropertyInclude_u<<"] ";
		//嵌套内容有错误，建议使用dumpDataTree方法，复杂数据格式更直观！
			oss<<"[cPropertyExclude_u:"<<(int)cPropertyExclude_u<<"] ";
			oss<<"[dwStatus:"<<dwStatus<<"] ";
			oss<<"[cStatus_u:"<<(int)cStatus_u<<"] ";
			oss<<"[ddwCreatorSysNo:"<<ddwCreatorSysNo<<"] ";
			oss<<"[cCreatorSysNo_u:"<<(int)cCreatorSysNo_u<<"] ";
			oss<<"[dwRowCreatDate:"<<dwRowCreatDate<<"] ";
			oss<<"[cRowCreatDate_u:"<<(int)cRowCreatDate_u<<"] ";
			oss<<"[ddwModifierSysNo:"<<ddwModifierSysNo<<"] ";
			oss<<"[cModifierSysNo_u:"<<(int)cModifierSysNo_u<<"] ";
			oss<<"[dwRowModifyDate:"<<dwRowModifyDate<<"] ";
			oss<<"[cRowModifyDate_u:"<<(int)cRowModifyDate_u<<"] ";
		
		}

		// codydeng提供,非常好的dump方法 ^-^  。。。。。
		template<typename T>
		T & DumpPlusData(T& oss){
			oss<<"dwVersion:"<<dwVersion;
			oss<<"[cVersion_u:"<<cVersion_u<<"] ";
			oss<<"ddwContactSysNo:"<<ddwContactSysNo;
			oss<<"[cContactSysNo_u:"<<cContactSysNo_u<<"] ";
			oss<<"ddwAreaSysNo:"<<ddwAreaSysNo;
			oss<<"[cAreaSysNo_u:"<<cAreaSysNo_u<<"] ";
			oss<<"strName:"<<strName;
			oss<<"[cName_u:"<<cName_u<<"] ";
			oss<<"wSex:"<<wSex;
			oss<<"[cSex_u:"<<cSex_u<<"] ";
			oss<<"dwBirthday:"<<dwBirthday;
			oss<<"[cBirthday_u:"<<cBirthday_u<<"] ";
			oss<<"strPosition:"<<strPosition;
			oss<<"[cPosition_u:"<<cPosition_u<<"] ";
			oss<<"strAlias:"<<strAlias;
			oss<<"[cAlias_u:"<<cAlias_u<<"] ";
			oss<<"strMail:"<<strMail;
			oss<<"[cMail_u:"<<cMail_u<<"] ";
			oss<<"strTel:"<<strTel;
			oss<<"[cTel_u:"<<cTel_u<<"] ";
			oss<<"strPhone:"<<strPhone;
			oss<<"[cPhone_u:"<<cPhone_u<<"] ";
			oss<<"strZipCode:"<<strZipCode;
			oss<<"[cZipCode_u:"<<cZipCode_u<<"] ";
			oss<<"strAddress:"<<strAddress;
			oss<<"[cAddress_u:"<<cAddress_u<<"] ";
			oss<<"strComment:"<<strComment;
			oss<<"[cComment_u:"<<cComment_u<<"] ";
			oss<<"bitsetProperty:"<<bitsetProperty;
			oss<<"[cProperty_u:"<<cProperty_u<<"] ";
			oss<<"bitsetPropertyInclude:"<<bitsetPropertyInclude;
			oss<<"[cPropertyInclude_u:"<<cPropertyInclude_u<<"] ";
			oss<<"bitsetPropertyExclude:"<<bitsetPropertyExclude;
			oss<<"[cPropertyExclude_u:"<<cPropertyExclude_u<<"] ";
			oss<<"dwStatus:"<<dwStatus;
			oss<<"[cStatus_u:"<<cStatus_u<<"] ";
			oss<<"ddwCreatorSysNo:"<<ddwCreatorSysNo;
			oss<<"[cCreatorSysNo_u:"<<cCreatorSysNo_u<<"] ";
			oss<<"dwRowCreatDate:"<<dwRowCreatDate;
			oss<<"[cRowCreatDate_u:"<<cRowCreatDate_u<<"] ";
			oss<<"ddwModifierSysNo:"<<ddwModifierSysNo;
			oss<<"[cModifierSysNo_u:"<<cModifierSysNo_u<<"] ";
			oss<<"dwRowModifyDate:"<<dwRowModifyDate;
			oss<<"[cRowModifyDate_u:"<<cRowModifyDate_u<<"] ";
			return oss;
		}

		// wileywang提供,树形dump方法 ^-^  。。。。。
		void DumpDataTree(std::ostream& os, int ident = 0)const {
			g_pprint(os, "dwVersion", dwVersion, ident);
			g_pprint(os, "cVersion_u", cVersion_u, ident);
			g_pprint(os, "ddwContactSysNo", ddwContactSysNo, ident);
			g_pprint(os, "cContactSysNo_u", cContactSysNo_u, ident);
			g_pprint(os, "ddwAreaSysNo", ddwAreaSysNo, ident);
			g_pprint(os, "cAreaSysNo_u", cAreaSysNo_u, ident);
			g_pprint(os, "strName", strName, ident);
			g_pprint(os, "cName_u", cName_u, ident);
			g_pprint(os, "wSex", wSex, ident);
			g_pprint(os, "cSex_u", cSex_u, ident);
			g_pprint(os, "dwBirthday", dwBirthday, ident);
			g_pprint(os, "cBirthday_u", cBirthday_u, ident);
			g_pprint(os, "strPosition", strPosition, ident);
			g_pprint(os, "cPosition_u", cPosition_u, ident);
			g_pprint(os, "strAlias", strAlias, ident);
			g_pprint(os, "cAlias_u", cAlias_u, ident);
			g_pprint(os, "strMail", strMail, ident);
			g_pprint(os, "cMail_u", cMail_u, ident);
			g_pprint(os, "strTel", strTel, ident);
			g_pprint(os, "cTel_u", cTel_u, ident);
			g_pprint(os, "strPhone", strPhone, ident);
			g_pprint(os, "cPhone_u", cPhone_u, ident);
			g_pprint(os, "strZipCode", strZipCode, ident);
			g_pprint(os, "cZipCode_u", cZipCode_u, ident);
			g_pprint(os, "strAddress", strAddress, ident);
			g_pprint(os, "cAddress_u", cAddress_u, ident);
			g_pprint(os, "strComment", strComment, ident);
			g_pprint(os, "cComment_u", cComment_u, ident);
			g_pprint(os, "bitsetProperty", bitsetProperty, ident);
			g_pprint(os, "cProperty_u", cProperty_u, ident);
			g_pprint(os, "bitsetPropertyInclude", bitsetPropertyInclude, ident);
			g_pprint(os, "cPropertyInclude_u", cPropertyInclude_u, ident);
			g_pprint(os, "bitsetPropertyExclude", bitsetPropertyExclude, ident);
			g_pprint(os, "cPropertyExclude_u", cPropertyExclude_u, ident);
			g_pprint(os, "dwStatus", dwStatus, ident);
			g_pprint(os, "cStatus_u", cStatus_u, ident);
			g_pprint(os, "ddwCreatorSysNo", ddwCreatorSysNo, ident);
			g_pprint(os, "cCreatorSysNo_u", cCreatorSysNo_u, ident);
			g_pprint(os, "dwRowCreatDate", dwRowCreatDate, ident);
			g_pprint(os, "cRowCreatDate_u", cRowCreatDate_u, ident);
			g_pprint(os, "ddwModifierSysNo", ddwModifierSysNo, ident);
			g_pprint(os, "cModifierSysNo_u", cModifierSysNo_u, ident);
			g_pprint(os, "dwRowModifyDate", dwRowModifyDate, ident);
			g_pprint(os, "cRowModifyDate_u", cRowModifyDate_u, ident);
		}
		
		//提供ToString借口，默认为DumpData格式，请按需要进行修改
		std::string ToString() const{
			std::stringstream ss;
			DumpData(ss);
			return ss.str();
		}

/**
 ********************以下信息是每个版本的字段********************
 */

};

}
}
}

#endif /* ERP_ACCOUNT_DDO_CCONTACTDDO_BY_AUTOGEN_V5_H */
